Skip to content

chore: maintenance pass — legacy tags, entrypoint, Dockerfile, README#2

Merged
Nardo86 merged 1 commit into
masterfrom
chore/maintenance-pass
May 25, 2026
Merged

chore: maintenance pass — legacy tags, entrypoint, Dockerfile, README#2
Nardo86 merged 1 commit into
masterfrom
chore/maintenance-pass

Conversation

@Nardo86

@Nardo86 Nardo86 commented May 25, 2026

Copy link
Copy Markdown
Owner

Follow-up cleanup after the bookworm bump in #1. Four small changes bundled in one PR for review convenience — feel free to drop the README rewrite if you'd rather keep the original tone.

Changes

1. Keep legacy alias tags in sync automatically (docker-publish.yml)

amd64-latest, arm64v8-latest, arm32v7-latest are 2021-era tags that still get pulled. Added them to docker/metadata-action so every default-branch publish pushes the same multi-arch manifest to all five tags atomically. No drift, no manual imagetools create next time.

2. entrypoint.sh: foreground flag + clean driver shutdown

  • upsd -Dupsd -F. -D raises debug verbosity; -F is the actual "stay in foreground" flag. Less log noise in production.
  • Added trap 'upsdrvctl stop' EXIT so the USB driver is stopped on docker stop instead of being left for the kernel to reap.

3. Dockerfile: HEALTHCHECK + fewer layers

  • New HEALTHCHECK invoking upsc "$NAME@localhost" (needs nut-client, now added to apt). Compose / docker ps now report real health.
  • Collapsed three sequential RUN blocks (install, sed/echo config, mkdir+chown) into one. Slight image-size win.
  • COPY --chmod=755 entrypoint.sh /entrypoint.sh replaces the separate chmod RUN.

4. README rewrite (~30% shorter)

  • "Project Status", "AI Disclaimer" and "Version Information" merged into one short Notes section.
  • Promoted docker-compose as the primary quick-start.
  • Clarified that NUT version follows Debian stable (currently bookworm), not upstream latest.
  • Removed the decorative Features block — every line was already covered elsewhere.

Test plan

  • Test Build workflow passes on multi-arch.
  • After merge, trigger Build and Publish via workflow_dispatch and confirm Docker Hub shows all five tags (latest, YYYY.MM, plus the three legacy aliases) pointing at the same digest.
  • Pull the published image, run with a real UPS attached, verify:
    • container reaches healthy state in docker ps
    • logs no longer show debug-level chatter (since -D removed)
    • docker stop returns within a few seconds (driver trap kicks in)

🤖 Generated with Claude Code

…ADME rewrite

Several small improvements collected after this morning's bookworm bump:

* CI: keep amd64-latest / arm64v8-latest / arm32v7-latest aliases in sync
  with `latest` by adding them to docker/metadata-action. These 2021-era
  tags still see active pulls, so we don't want them to drift again.
* entrypoint.sh: `upsd -D` (debug mode) → `upsd -F` (foreground), the
  canonical flag. Also trap EXIT to call `upsdrvctl stop` so the driver
  is stopped cleanly on container shutdown instead of leaking.
* Dockerfile: collapse the install + config + mkdir RUNs into a single
  layer, add a HEALTHCHECK via `upsc`, install `nut-client` so `upsc`
  is available at runtime.
* README: rewritten — fused the duplicate "Project Status" + "AI
  Disclaimer" + "Version Information" sections into one short note,
  promoted docker-compose as the primary quick-start, dropped the
  decorative "Features" block. ~30% shorter, less repetition.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Nardo86 Nardo86 merged commit b50daea into master May 25, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant